package com.sanjin.blockchain.common.util;

import java.nio.charset.Charset;
import java.nio.charset.StandardCharsets;

/**
 * 进制转换工具类
 * @author: jiangxch
 * @date: 2019/12/6 18:11
 */
public class BinUtil {

    /**
     * 将指定 bytes 转为指定编码字符串
     * @param bytes 待转换bytes
     * @param charset 字符编码,不推荐使用{@link Charset#forName(String)},推荐使用{@link StandardCharsets}
     * @return 转换后的字符串
     */
    public String bytes2String(byte[] bytes, Charset charset) {
        return new String(bytes,charset);
    }

    public String bytes2String(byte[] bytes) {
        return bytes2String(bytes,StandardCharsets.UTF_8);
    }

    /**
     * bytes转hex字符串
     * @param bytes
     * @return hex字符串
     */
    public String bytes2Hex(byte[] bytes) {
        StringBuffer sb = new StringBuffer();
        for (int i = 0; i < bytes.length; i++) {
            String s = Integer.toHexString(bytes[i]);
            sb.append(s);
        }
        return sb.toString();
    }

    /**
     * hex字符串转bytes
     * @param hex
     * @return bytes
     */
    public byte[] hex2Bytes(String hex) {
        return null;
    }
}
